<?php

class PlayerService
{
    /**
     * @param  Array $data
     * @return Player
     */
    public static function create( Array $data )
    {
        if ( !array_key_exists( 'name', $data ) )
        {
            throw new PlayerServiceException( 'El nombre del jugador no puede quedar en blanco' );
        }

        /**
         * imagina que por cada jugador que se agrega,
         * se consume un web service para saber la fecha de nacimiento
         * eso debe ir en este lugar, un ejemplo basico seria:
         *
         * $data['date_of_birth'] = PlayerActiveResource::getDateOfBirthFor( $data[ 'name' ] );
         *
         */

        return Player::getRepository()->add( $data );
    }
}